
DNS 網域名稱系統 (全名 : Domain Name System)
| 作者 | Meteoroid |
|---|---|
| 進度 | 完成 |
| 週次 | 2021/4 |
歷史淺談
1983 年,由保羅·莫卡派喬斯( Paul Mockapetris )發明。
DNS 定義
DNS 是做為將域名和IP相互對應的一個分散式資料庫,能夠使人更方便地訪問網際網路。
紀錄類型
紀錄類型
| 代碼 | 號碼 | 描述 | 功能 |
|---|---|---|---|
| A | 1 | IPv4 位址紀錄 | 傳回一個 32 位元的 IPv4 位址,最常用於對映主機名稱到 IP 位址,但也用於 DNSBL ( RFC1101 )等。 |
| AAAA | 28 | IPv6 位址紀錄 | 傳回一個 128 位元的 IPv6 位址,最常用於對映主機名稱到 IP 位址。 |
| NS | 2 | 名稱伺服器紀錄 | 委託 DNS ( DNS zone ) 使用已提供的權威域名伺服器。 |
| PTR | 12 | 指標紀錄 | 引導至一個規範名稱 ( Canonical Name )。與 CNAME 記錄不同,DNS 「不會」進行處理程式,只會回傳名稱。 |
| CNAME | 5 | 規範名稱紀錄 | 是 DNS 的一種紀錄,用於將一個域名映射到另一個域名。CNAME必須指向另一個域名,而不能是IP。 |
| SRV | 33 | 服務位置紀錄 | 廣義為服務定位記錄,被新式協定使用而避免產生特定協定的記錄。 |
| 無標題 |
DNS 的正向解析與反向解析
正向解析
根據域名查詢對應的 IP 地址
EX: 輸入 kazan.ru —> 10.0.0.10
反向解析
根據 IP 地址查詢對應的域名
EX: 輸入 10.0.0.10 —> kazan.ru
DNS 的域名結構
DNS 的域名從最頂層開始分別是:
1. 根域
2. 頂級域
3. 子域(後面就都是子域)
這裡我用大甲高工的網址來解析

DNS 實作
Windows Server 2019 實作
創建網域
要開始做DNS服務之前,請先安裝
Active Directory Domain Service 和 DNS Server。
安裝好之後請到右上旗幟的地方選取
Promote this server to a domain controller
選取到 Add a new forest 來新建一個網域,
這裡用48屆的題目來做範例,
題目要求創建一個 wsdomain.com.tw 的網域,
在 Root domain name 輸入 wsdomain.com.tw 之後就下一步,
依照題目要求打上密碼後就無腦下一步
看到下圖的畫面就是成功了

正向解析實作
先到右上的 Tools 找到並按下 DNS ,
之後在 Forward Lookup Zones 底下的 outside.out (根據你設定的網域名稱)
按下右鍵選擇 New Host ( A or AAAA )... ,
在 Name 的地方根據題目打上名稱 (48屆為 www)

IP address 為題目上的 IP,
記得勾選 Create associated pointer (PTR) record
繼續下一步就完成了,完成後應該會和右圖差不多
反向解析實作
先到右上的 Tools 找到並按下 DNS ,
之後在 Reverse Lookup Zones 按下右鍵選擇 New Zone... ,
之後就一直下一步,並在 Network ID : 打上題目給的 IP 前三個,
繼續下一步就完成了,完成後應該會和右圖差不多
Debian 10 實作
開始前請先安裝 vim bind9。
(安裝指令為 apt-get install vim apt-get install bind9)
Network 設定
輸入 vim /etc/network/interfaces 進入網路設定介面,
將該介面改成右圖(依照題目來設定)
- auto ens33 設定網卡
- iface ens33 inet static 成固定 IP (浮動 IP 請將 static 改成 dhcp 且下面就不用打了)
- address 192.168.100.201 就是 IP 啦
- netmask 255.255.255.0 就是遮罩啦
- dns-nameserverss 127.0.0.1 指向自己,請用127.0.0.1
- gateway 192.168.100.1 就是預設閘道啦 題目沒說請不要設定,設了會跟分數過意不去
Bind 實作
輸入指令 vim /etc/bind/db.127 vim /etc/bind/dblocal進入介面後,
將你的介面改成右圖(依題目來設定)
下面的為DNS紀錄要輸入的指令
# 常見的正解檔 RR 相關資訊
[domain] IN [[RR type] [RR data]]
主機名稱. IN A IPv4 的 IP 位址
主機名稱. IN AAAA IPv6 的 IP 位址
領域名稱. IN NS 管理這個領域名稱的伺服器主機名字.
領域名稱. IN SOA 管理這個領域名稱的七個重要參數(容後說明)
領域名稱. IN MX 順序數字 接收郵件的伺服器主機名字
主機別名. IN CNAME 實際代表這個主機別名的主機名字.
# 反解
最右邊的 IP IN PTR 主機名稱. <--- 這個點必須加

Meteoroid 




